home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / nrpas13.arc / SIMP3.PAS < prev    next >
Pascal/Delphi Source File  |  1991-05-01  |  789b  |  29 lines

  1. PROCEDURE simp3(VAR a: glmpbynp; mp,np,i1,k1,ip,kp: integer);
  2. (* Programs using routine SIMP3 must define the type
  3. TYPE
  4.    glmpbynp = ARRAY [1..mp,1..np] OF real;
  5. in the main routine. *)
  6. VAR
  7.    kk,ii: integer;
  8.    piv: real;
  9. BEGIN
  10.    piv := 1.0/a[ip+1,kp+1];
  11.    IF (i1 >= 0) THEN BEGIN
  12.       FOR ii := 1 TO (i1+1) DO BEGIN
  13.          IF ((ii-1) <> ip) THEN BEGIN
  14.             a[ii,kp+1] := a[ii,kp+1]*piv;
  15.             FOR kk := 1 TO k1+1 DO BEGIN
  16.                IF ((kk-1) <> kp) THEN BEGIN
  17.                   a[ii,kk] := a[ii,kk]
  18.                    -a[ip+1,kk]*a[ii,kp+1]
  19.                END
  20.             END
  21.          END
  22.       END
  23.    END;
  24.    FOR kk := 1 TO k1+1 DO BEGIN
  25.       IF ((kk-1) <> kp) THEN a[ip+1,kk] := -a[ip+1,kk]*piv
  26.    END;
  27.    a[ip+1,kp+1] := piv
  28. END;
  29.